package com.lzy.cloud.order.dtos.rvcar;

import com.lzy.cloud.order.dtos.*;
import com.lzy.cloud.order.remote.dtos.BaseCouponDto;
import com.lzy.cloud.order.remote.dtos.CarParamDto;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class CarRentOrderDto extends BaseOrderDto {

    private static final long serialVersionUID = -7834129005693794349L;

    /**
     * 商户id
     */
    private Long shopId;

    /**
     * 商户名称
     */
    private String shopName;

    /**
     * 房车ID
     */
    private Long carId;

    /**
     * 房车名称
     */
    private String carName;

    /**
     * 商品总价
     */
    private BigDecimal orderTotal;

    /**
     * 房车url
     */
    private String itemUrl;

    /**
     * 房车券张数
     */
    private Integer ticketCount;

    /**
     * 提车人姓名
     */
    private String liftName;

    /**
     * 提车人手机号码
     */
    private String liftPhone;

    /**
     * 身份证号码
     */
    private String idNumber;

    /**
     * 房车状态(1-未提车， 2-已提车， 3-未还车， 4-已还车， 5-已还车（用户点击）)
     */
    private Integer carStatus;

    /**
     * 开始时间
     */
    private String startDate;

    /**
     * 结束时间
     */
    private String endDate;

    /**
     * 免费额度
     */
    private BigDecimal deductibles;

    /**
     * 免赔服务保费
     */
    private BigDecimal feeMoney;

    /**
     * 使用天数
     */
    private Integer useCount;

    /**
     * 提车码
     */
    private String liftCode;

    /**
     * 提车时间
     */
    private String pickTime;

    /**
     * 还车时间
     */
    private String returnTime;

    /**
     * 退还房车券张数
     */
    private Integer returnCoupon;

    /**
     * 退订金额
     */
    private BigDecimal unsubscribeAmount;

    /**
     * 下单人member_id
     */
    private Long memberId;

    /**
     * 下单人姓名
     */
    private String memberName;

    /**
     * 下单人手机号码
     */
    private String memberPhone;


    /***********************   新增字段  ************************/
    /**
     * 房车券id 房车代金券id
     */
    private List<Long> couponList;

    /**
     * 保险人list
     */
    private List<OrderInsuranceHolderDto> insuranceList;

    /**
     * 变速箱类型： 1手动 2自动 3无动力
     */
    private Integer gearBox;

    /**
     * 驾照(A1 C1 等)
     */
    private String drivingLicense;

    /**
     * 床位
     */
    private Integer bedNumber;

    /**
     * 订单费用明细
     */
    private List<OrderExpenseItemDto> orderExpenseItemDtoList;

    /**
     * 退订规则
     */
    private OrderRuleDto orderRuleDto;

    /**
     * 保险
     */
    private OrderInsuranceInfoDto orderInsuranceInfoDto;

    /**
     * 投保人
     */
    private List<OrderInsuranceHolderDto> orderInsuranceHolderDtoList;

    /**
     * 房车租赁的价格明细快照
     */
    private List<OrderCarRentMoneyDto> orderCarRentMoneyDtoList;

    /**
     * 订单中券流向记录表
     */
    private List<OrderCouponLogDto> orderCouponLogDtoList;

    /**
     * 订单状态变化记录
     */
    private List<OrderStatusHistoryDto> orderStatusHistoryDtoList;

    /**
     * 房车图片
     */
    private String carImage;

    /**
     * 厂商地址
     */
    private String shopAddress;

    /**
     * 厂商电话
     */
    private String shopPhone;

    /**
     * 房车参数关联列表
     */
    private List<CarParamDto> carParamDtoList;

    /**
     * 可用券的列表
     */
    private List<BaseCouponDto> baseCouponDtoList;

}
